<?php

namespace App\Traits\GetModel;

use App\Models\Applet\Order\SponsorMasterOrderModel;
use App\Models\Applet\Order\SponsorOrderGoodsModel;
use App\Models\Applet\Order\SponsorOrderModel;
use App\Models\Applet\Order\SponsorOrdersModel;
use App\Models\Applet\Sponsor\SlaughterExpressModel;
use App\Models\Applet\Sponsor\SlaughterIntegralRecordsModel;
use App\Models\Applet\Sponsor\SlaughterSendBackRecordsModel;
use App\Models\Applet\Sponsor\SponsorCategoryModel;
use App\Models\Applet\Sponsor\SponsorGoodsModel;
use App\Models\Applet\Sponsor\UserSlaughterRecordsModel;
use Exception;

trait GetSponsorModelTrait
{

    /**
     * @return SponsorCategoryModel
     * @throws Exception
     */
    public function getSponsorCategoryModel(): SponsorCategoryModel
    {
        return loadModel('Applet\Sponsor\SponsorCategoryModel');
    }

    /**
     * @return SponsorGoodsModel
     * @throws Exception
     */
    public function getSponsorGoodsModel(): SponsorGoodsModel
    {
        return loadModel('Applet\Sponsor\SponsorGoodsModel');
    }

    /**
     * @return SponsorMasterOrderModel
     * @throws Exception
     */
    public function getSponsorMasterOrderModel(): SponsorMasterOrderModel
    {
        return loadModel('Applet\Order\SponsorMasterOrderModel');
    }

    /**
     * @return SponsorOrderModel
     * @throws Exception
     */
    public function getSponsorOrderModel(): SponsorOrderModel
    {
        return loadModel('Applet\Order\SponsorOrderModel');
    }

    /**
     * @return SponsorOrderGoodsModel
     * @throws Exception
     */
    public function getSponsorOrderGoodsModel(): SponsorOrderGoodsModel
    {
        return loadModel('Applet\Order\SponsorOrderGoodsModel');
    }

    /**
     * @return UserSlaughterRecordsModel
     * @throws Exception
     */
    public function getUserSlaughterRecordsModel(): UserSlaughterRecordsModel
    {
        return loadModel('Applet\Sponsor\UserSlaughterRecordsModel');
    }

    /**
     * @return SlaughterExpressModel
     * @throws Exception
     */
    public function getSlaughterExpressModel(): SlaughterExpressModel
    {
        return loadModel('Applet\Sponsor\SlaughterExpressModel');
    }

    /**
     * @return SlaughterSendBackRecordsModel
     * @throws Exception
     */
    public function getSlaughterSendBackRecordsModel(): SlaughterSendBackRecordsModel
    {
        return loadModel('Applet\Sponsor\SlaughterSendBackRecordsModel');
    }

    /**
     * @return SlaughterIntegralRecordsModel
     * @throws Exception
     */
    public function getSlaughterIntegralRecordsModel(): SlaughterIntegralRecordsModel
    {
        return loadModel('Applet\Sponsor\SlaughterIntegralRecordsModel');
    }
}
